home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 November / PCWorld_2006-11_cd.bin / v cisle / pcwdocl / pcwDocLnkCheck.exe / pcwDocLnkCheck.js
Text File  |  2006-09-18  |  1KB  |  33 lines

  1. var Fs = new ActiveXObject("Scripting.FileSystemObject");
  2. var WshShell = WScript.CreateObject("WScript.Shell");
  3. var recentdir = WshShell.SpecialFolders("Recent");
  4. var f, fnum;
  5. var i = 0;
  6. var errlog = "";
  7.  
  8. f = Fs.GetFolder(recentdir);
  9.  
  10. fnum = new Enumerator(f.Files);
  11.  
  12. for (;!fnum.atEnd(); fnum.moveNext())
  13. {
  14.  if (Fs.GetExtensionName(fnum.item()).toLowerCase() == 'lnk')  {
  15.   fCheckLink(fnum.item());
  16.  }
  17. }
  18. if (i== 0 && errlog == "") {
  19.  WshShell.Popup("VÜichni zßstupci ve slo₧ce \"" + recentdir+ "\" jsou v po°ßdku.",0,"Skript PC WORLDu", 64);
  20.  }
  21. else WshShell.Popup(i + "neplatn²ch odkaz∙ bylo odstran∞no ve slo₧ce \""+ recentdir + "\".\n" + errlog +"",0,"Skript PC WORLDu", 64);
  22.  
  23. function fCheckLink(pfad){
  24.  var oShellLink
  25.  try { oShellLink = WshShell.CreateShortcut(pfad);}
  26.  catch(err1){ errlog = errlog +  pfad +"\ponechßno kv∙li chby∞jφcφm p°φstupov²m prßv∙m.\n"; }
  27.  if (!Fs.FileExists(oShellLink.TargetPath)) {
  28.   if (!Fs.FolderExists(oShellLink.TargetPath)) { 
  29.    try { Fs.DeleteFile(pfad);i++}
  30.    catch(err2){ errlog = errlog +  pfad +"\ponechßno kv∙li chby∞jφcφm p°φstupov²m prßv∙m.\n"; }
  31.   }
  32.  }
  33. }